Skip to content

.Net: Add AssemblyAI file service #5964

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 334 commits into from
Closed

.Net: Add AssemblyAI file service #5964

wants to merge 334 commits into from

Conversation

Swimburger
Copy link

Description

Add AssemblyAI file service that accepts a Stream as input for file uploading.
By adding the file service, it removes the need for AudioStreamContent which I removed.
In a separate PR I can add a StreamingAudioContent class which would take audio from a microphone for example, and send it to AssemblyAI's Streaming STT.

Contribution Checklist

crickman and others added 30 commits April 3, 2024 15:54
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Tracking identity is critical for multi-agent conversations. It is also
supported as part of the core chat-completion api:
https://platform.openai.com/docs/api-reference/chat/create

```
 {
    "messages": [
        {
            "content": "Write one paragraph in response to the user that rhymes",
            "name": "Echo",
            "role": "system"
        },
        {
            "content": "Why is AI awesome",
            "name": "Ralph",
            "role": "user"
        }
    ],
    "temperature": 1,
    "top_p": 0.5,
    "n": 3,
    "presence_penalty": 0,
    "frequency_penalty": 0,
    "model": "gpt-4"
}
```

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Add support for `ChatMessageContent.Name` property with optional,
non-breaking patterns.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: markwallace-microsoft <127216156+markwallace-microsoft@users.noreply.github.com>
Fix for the issues:
- #5631
- #5264

### Description
Instead of serializing function result of kernel content type, we try to
get it as a string first, and only if the attempt fails we fallback to
serialization.

Note: Later, the serializer should use kernel serializer options when
they are available.

Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: Mathieu Mack <mathieu.mack@viseo.com>
Co-authored-by: MACK Mathieu <mathieu.mack@outlook.fr>
Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
### Motivation and Context

Add missing await to openapi client

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Add missing await to openapi client

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
This pull request primarily updates the `DEV_SETUP.md` and `README.md`
files in the `python` directory. The changes focus on improving the
setup instructions, updating the code snippets, and providing additional
information on running tests, code coverage, and keeping the local
repository up-to-date.

Changes to setup instructions:

*
[`python/DEV_SETUP.md`](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cR75-R90):
Added instructions on how to use Python 3.11 with Poetry, how to install
pre-commit hooks, and how to run tests using VSCode Tasks.
[[1]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cR75-R90)
[[2]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cR112-R114)
[[3]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cR131-R133)
[[4]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cL287-R252)

Code snippets updates:

*
[`python/DEV_SETUP.md`](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cL140-L227):
Updated the code snippets to reflect the latest changes in the codebase.
This includes changes in the use of Pydantic and the use of
KernelBaseModel.
[[1]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cL140-L227)
[[2]](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cL244-R177)
*
[`python/README.md`](diffhunk://#diff-217ed82f87b78b399e304b07a159b27dff327c0f83adf4a2fc30b03bcbf84b01L58-R66):
Updated the code snippet to reflect the change in getting request
settings from a service ID.

Additional information:

*
[`python/DEV_SETUP.md`](diffhunk://#diff-22a026622159be328328c5bb6fef874e8aa799efb6ab8844d0c94ad051b08f3cL287-R252):
Added information on how to run code coverage, how to keep the local
repository up-to-date, and how to resolve conflicts after a rebase.
*
[`python/README.md`](diffhunk://#diff-217ed82f87b78b399e304b07a159b27dff327c0f83adf4a2fc30b03bcbf84b01R7-R14):
Added instructions on how to install optional dependencies.
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Small change to allow a kernel function decorator without name and
description, to be defined without brackets.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
…ity to use custom Bing Search endpoint. (#5673)

Motivation and Context
Returning just the page snippet from a Bing search results in a lack of
context or ability to follow up on a response.

This PR addresses that by adding better formatting for Bing Search
responses via the "Plugins.Web" package.
It also adds a method to use a custom endpoint for Bing Search.

Description
Formatting Changes
Previous response format example:

![image](https://github.com/microsoft/semantic-kernel/assets/95053834/afad8167-0495-4a99-8975-b2090920cfd4)

New response format example:

![image](https://github.com/microsoft/semantic-kernel/assets/95053834/afad8167-0495-4a99-8975-b2090920cfd4)

As can be seen by the examples provided, the new response format
contains much more context & provides the user with the URL of the
search result so that they can click through and read further.

This can be obtained programmatically later on using regex matching,
then could be fed into the "[Search Url
Plugin](https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/Plugins/Plugins.Web/SearchUrlPlugin.cs)",
to scrape the page directly, before finally summarizing and returning a
complete summary of the page to the user.

Endpoint Changes
The ability to use a custom endpoint for Bing Search also enables a path
to use an API Management instance as a front end for the Bing Search
API. This is required by some end users for scenarios such as enterprise
logging and usage counting for cross charge.

The default behaviour for the BingConnector is to target the Bing Search
endpoint directly. It is entirely optional to use a custom endpoint.
Doing so, does not introduce any other code change requirements to
achieve use of Bing Search.

Contribution Checklist
 The code builds clean without any errors or warnings
The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#dev-scripts)
raises no violations
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mark Karle <mkarle@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lee Miller <lemiller@microsoft.com>
Co-authored-by: Shawn Callegari <36091529+shawncal@users.noreply.github.com>
Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>
Co-authored-by: Lisa Harrylock <lisaharrylock@gmail.com>
Co-authored-by: Shay Rojansky <roji@roji.org>
Co-authored-by: Anthony Puppo <anthonyosx@gmail.com>
Co-authored-by: Weihan Li <weihanli@outlook.com>
Co-authored-by: Jadyn <jadyn.wong@live.com>
Co-authored-by: Matthew Bolaños <matthewbolanos@gmail.com>
Co-authored-by: Abby Harrison <54643756+awharrison-28@users.noreply.github.com>
Co-authored-by: Weihan Li <weihan.li@iherb.com>
Co-authored-by: Gina Triolo <51341242+gitri-ms@users.noreply.github.com>
Co-authored-by: Jib <Jibzade@gmail.com>
Co-authored-by: feiyun0112 <feiyun0112@gmail.com>
Co-authored-by: Adarsh Acharya <132294330+AdarshAcharya5@users.noreply.github.com>
Co-authored-by: Abby Harrison <abby.harrison@microsoft.com>
Co-authored-by: Jib <jib.adegunloye@mongodb.com>
Co-authored-by: Steven Silvester <steven.silvester@ieee.org>
Co-authored-by: Roybott <RoyHerrod@Outlook.com>
Co-authored-by: John Liu <107901166+johnliu55-msft@users.noreply.github.com>
Co-authored-by: zhaozhiming <zhaozhiming@users.noreply.github.com>
Co-authored-by: Hiroshi Yoshioka <40815708+hyoshioka0128@users.noreply.github.com>
Co-authored-by: SergeyMenshykh <sergemenshikh@gmail.com>
Co-authored-by: Sun Zhigang <sunner@gmail.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: RonSijm <RonSijm@users.noreply.github.com>
Co-authored-by: Joowon <joowon.kim@dm.snu.ac.kr>
Co-authored-by: Devis Lucato <dluc@users.noreply.github.com>
Co-authored-by: Devis Lucato <devis@microsoft.com>
Co-authored-by: Gil LaHaye <gillahaye@microsoft.com>
Co-authored-by: kevin-m-kent <38162246+kevin-m-kent@users.noreply.github.com>
Co-authored-by: Kevin Kent <kevinkent@NU-kkent-M.local>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Remove the ability to run multiple functions in go in kernel.invoke.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Resolve #5676

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

The Gemini internal related classes that were directly located under the
Gemini directory have been moved to a new subdirectory named
InternalModels. This change is made to better organize the project
structure, keeping internal models separate for improved code
maintainability.

cc: @RogerBarreto 

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
…e execution as needed. (#5718)

### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: Leo Hu <lifhu@microsoft.com>
Co-authored-by: Mark Wallace <127216156+markwallace-microsoft@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

I noticed that Python Integration tests were running for every PR, not
needed, so path filter added.
If the test coverage fails, that usually means the underlying unit-tests
failed, so no need to have this block.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
…Abstractions/Core (#5635)

This removes the dependency, substituting in a lighter-weight schema
generator that better aligns with System.Text.Json and which is likely
to be built-in to STJ in a future release. All of these get removed:
<img width="520" alt="image"
src="https://github.com/microsoft/semantic-kernel/assets/2642209/d14005f8-f7a7-418f-ada4-a5faecb4d7ff">

The JsonSchema.Net dependency still exists from
Microsoft.SemanticKernel.Plugins.OpenApi in support of the validation
used in
https://github.com/microsoft/semantic-kernel/blob/9ab95132b5f460f1bf9a1d1e387fb18453a037f4/dotnet/src/Functions/Functions.OpenApi/Extensions/RestApiOperationResponseExtensions.cs#L48-L51
and we can subsequently decide what to do about that.

Note that the replacement highlighted some important issues with the
schema previously being generated. In particular, it didn't align with
how state would actually be serialized/deserialized, e.g. the schema
included public fields even though the JsonSerializerOptions being used
would ignore such fields.

This does incur one notable reduction in functionality: today
KernelJsonSchema validates that supplied text is indeed a valid JSON
schema... with this change, it only validates that it's valid JSON. I
think that's a reasonable tradeoff for now, and we should be able to add
back the stricter validation in the future when STJ provides support for
it. I don't have a good alternative right now other than keeping the
significant dependency.
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->
Two broken links:
1.
https://redis.io/docs/latest/develop/interact/search-and-query/quickstart
1. https://redis.io/docs/latest/operate/rs/

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Updated links:
1. https://redis.io/docs/latest/develop/interact/search-and-query/
1. https://redis.io/enterprise/

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
…5810)

Bumps
[xunit.runner.visualstudio](https://github.com/xunit/visualstudio.xunit)
from 2.5.6 to 2.5.7.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/8f2703126a90acedef4e9dbd7ae1bc6440c25e06"><code>8f27031</code></a>
v2.5.7</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/7226c5aa74013fa685e3bf4ce8c777f0c5ef9fb3"><code>7226c5a</code></a>
Updated build process</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/1f5a062c607db91c91b07011bef83d4a22990ebd"><code>1f5a062</code></a>
Report configuration warnings per <a
href="https://redirect.github.com/xunit/xunit/issues/1655">xunit/xunit#1655</a></li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/21484963d6605feb31b2c72c481a21a036621e48"><code>2148496</code></a>
Latest dependencies</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/41a6ecafa6e9df1815f7894cfdddd494f807abe3"><code>41a6eca</code></a>
Force file copy during package creation</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/8f772933ccee61f2b7f57caf2f98dd5cd0839e85"><code>8f77293</code></a>
Revert e266e72 and 3cb1ad2</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/374dbf87cb8fe348d8a39ccf5079c53b4ba130d3"><code>374dbf8</code></a>
<a
href="https://redirect.github.com/xunit/visualstudio.xunit/issues/399">#399</a>:
Modified date of redistributed xunit.abstractions.dll is wrong</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/edf51bcd09049f369ab84abd99e6698b7f756aae"><code>edf51bc</code></a>
Update build to use .NET SDK 8 and C# 12</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/3cb1ad21eb3cda20218cafd48b696813a054efe5"><code>3cb1ad2</code></a>
Replace SkipUnchangedFiles with a Condition</li>
<li><a
href="https://github.com/xunit/visualstudio.xunit/commit/e266e72fbd58b43a34636e481d5b1523104bc040"><code>e266e72</code></a>
Replace ItemGroup item with Copy task to see if that fixes <a
href="https://redirect.github.com/xunit/xunit/issues/1651">xunit/xunit#1651</a></li>
<li>Additional commits viewable in <a
href="https://github.com/xunit/visualstudio.xunit/compare/2.5.6...2.5.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=xunit.runner.visualstudio&package-manager=nuget&previous-version=2.5.6&new-version=2.5.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5808)

Bumps [DuckDB.NET.Data.Full](https://github.com/Giorgi/DuckDB.NET) from
0.10.1 to 0.10.1.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/Giorgi/DuckDB.NET/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DuckDB.NET.Data.Full&package-manager=nuget&previous-version=0.10.1&new-version=0.10.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5807)

Bumps
[Handlebars.Net.Helpers](https://github.com/Handlebars-Net/Handlebars.Net.Helpers)
from 2.4.1.4 to 2.4.1.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Handlebars-Net/Handlebars.Net.Helpers/blob/master/CHANGELOG.md">Handlebars.Net.Helpers's
changelog</a>.</em></p>
<blockquote>
<h1>2.4.1.5 (12 March 2024)</h1>
<ul>
<li><a
href="https://redirect.github.com/Handlebars-Net/Handlebars.Net.Helpers/pull/88">#88</a>
- Fixed casting problems in ExecuteUtils breaking EnumerableHelpers
[bug] contributed by <a
href="https://github.com/HenrikHoyer">HenrikHoyer</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Handlebars-Net/Handlebars.Net.Helpers/commit/5046bab98544dc3bd1095a2f145f7b42bca1160d"><code>5046bab</code></a>
2.4.1.5</li>
<li><a
href="https://github.com/Handlebars-Net/Handlebars.Net.Helpers/commit/bf3cb8ebcb7bb6e801593a0f83a71560c2582fb5"><code>bf3cb8e</code></a>
Fixed casting problems in ExecuteUtils breaking EnumerableHelpers (<a
href="https://redirect.github.com/Handlebars-Net/Handlebars.Net.Helpers/issues/88">#88</a>)</li>
<li>See full diff in <a
href="https://github.com/Handlebars-Net/Handlebars.Net.Helpers/compare/2.4.1.4...2.4.1.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Handlebars.Net.Helpers&package-manager=nuget&previous-version=2.4.1.4&new-version=2.4.1.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to
10.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/releases">pillow's
releases</a>.</em></p>
<blockquote>
<h2>10.3.0</h2>
<p><a
href="https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/10.3.0.html</a></p>
<h2>Changes</h2>
<ul>
<li>CVE-2024-28219: Use strncpy to avoid buffer overflow <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Use <code>functools.lru_cache</code> for <code>hopper()</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7912">#7912</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Raise ValueError if seeking to greater than offset-sized integer in
TIFF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7883">#7883</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Improve speed of loading QOI images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7925">#7925</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added RGB to I;16N conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7920">#7920</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Add --report argument to <strong>main</strong>.py to omit supported
formats <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7818">#7818</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Added RGB to I;16, I;16L and I;16B conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7918">#7918</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix editable installation with custom build backend and
configuration options <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7658">#7658</a>
[<a href="https://github.com/nulano"><code>@​nulano</code></a>]</li>
<li>Fix putdata() for I;16N on big-endian <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7209">#7209</a>
[<a href="https://github.com/Yay295"><code>@​Yay295</code></a>]</li>
<li>Determine MPO size from markers, not EXIF data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7884">#7884</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Improved conversion from RGB to RGBa, LA and La <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7888">#7888</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Support FITS images with GZIP_1 compression <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7894">#7894</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use I;16 mode for 9-bit JPEG 2000 images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7900">#7900</a>
[<a
href="https://github.com/scaramallion"><code>@​scaramallion</code></a>]</li>
<li>Raise ValueError if kmeans is negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7891">#7891</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Remove TIFF tag OSUBFILETYPE when saving using libtiff <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7893">#7893</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Raise ValueError for negative values when loading P1-P3 PPM images
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7882">#7882</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added reading of JPEG2000 palettes <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7870">#7870</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Added alpha_quality argument when saving WebP images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7872">#7872</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed joined corners for ImageDraw rounded_rectangle() non-integer
dimensions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7881">#7881</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Removed Python and NumPy pinning on Cygwin <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7880">#7880</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update UnidentifiedImageError and <strong>version</strong> imports
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7644">#7644</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Stop reading EPS image at EOF marker <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7753">#7753</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>PSD layer co-ordinates may be negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7706">#7706</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use subprocess with CREATE_NO_WINDOW flag in ImageShow WindowsViewer
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7791">#7791</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>When saving GIF frame that restores to background color, do not fill
identical pixels <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7788">#7788</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed reading PNG iCCP compression method <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7823">#7823</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Allow writing IFDRational to UNDEFINED tag <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7840">#7840</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix logged tag name when loading Exif data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7842">#7842</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use maximum frame size in IHDR chunk when saving APNG images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7821">#7821</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Prevent opening P TGA images without a palette <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7797">#7797</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use palette when loading ICO images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7798">#7798</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Use consistent arguments for load_read and load_seek <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7713">#7713</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Turn off nullability warnings for macOS SDK <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7827">#7827</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix shift-sign issue in Convert.c <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7838">#7838</a>
[<a href="https://github.com/r-barnes"><code>@​r-barnes</code></a>]</li>
<li>winbuild: Refactor dependency versions into constants <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7843">#7843</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Build macOS arm64 wheels natively <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7852">#7852</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fixed typo <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7855">#7855</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Open 16-bit grayscale PNGs as I;16 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7849">#7849</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Handle truncated chunks at the end of PNG images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7709">#7709</a>
[<a href="https://github.com/lajiyuan"><code>@​lajiyuan</code></a>]</li>
<li>Match mask size to pasted image size in GifImagePlugin <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7779">#7779</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Changed SupportsGetMesh protocol to be public <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7841">#7841</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Release GIL while calling <code>WebPAnimDecoderGetNext</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7782">#7782</a>
[<a
href="https://github.com/evanmiller"><code>@​evanmiller</code></a>]</li>
<li>Fixed reading FLI/FLC images with a prefix chunk <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7804">#7804</a>
[<a href="https://github.com/twolife"><code>@​twolife</code></a>]</li>
<li>Updated package name for Tidelift <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7810">#7810</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Removed unused code <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7744">#7744</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst">pillow's
changelog</a>.</em></p>
<blockquote>
<h2>10.3.0 (2024-04-01)</h2>
<ul>
<li>
<p>CVE-2024-28219: Use <code>strncpy</code> to avoid buffer overflow <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
[radarhere, hugovk]</p>
</li>
<li>
<p>Deprecate <code>eval()</code>, replacing it with
<code>lambda_eval()</code> and <code>unsafe_eval()</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7927">#7927</a>
[radarhere, hugovk]</p>
</li>
<li>
<p>Raise <code>ValueError</code> if seeking to greater than offset-sized
integer in TIFF <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7883">#7883</a>
[radarhere]</p>
</li>
<li>
<p>Add <code>--report</code> argument to <code>__main__.py</code> to
omit supported formats <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7818">#7818</a>
[nulano, radarhere, hugovk]</p>
</li>
<li>
<p>Added RGB to I;16, I;16L, I;16B and I;16N conversion <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7918">#7918</a>,
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/7920">#7920</a>
[radarhere]</p>
</li>
<li>
<p>Fix editable installation with custom build backend and configuration
options <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7658">#7658</a>
[nulano, radarhere]</p>
</li>
<li>
<p>Fix putdata() for I;16N on big-endian <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7209">#7209</a>
[Yay295, hugovk, radarhere]</p>
</li>
<li>
<p>Determine MPO size from markers, not EXIF data <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7884">#7884</a>
[radarhere]</p>
</li>
<li>
<p>Improved conversion from RGB to RGBa, LA and La <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7888">#7888</a>
[radarhere]</p>
</li>
<li>
<p>Support FITS images with GZIP_1 compression <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7894">#7894</a>
[radarhere]</p>
</li>
<li>
<p>Use I;16 mode for 9-bit JPEG 2000 images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7900">#7900</a>
[scaramallion, radarhere]</p>
</li>
<li>
<p>Raise ValueError if kmeans is negative <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7891">#7891</a>
[radarhere]</p>
</li>
<li>
<p>Remove TIFF tag OSUBFILETYPE when saving using libtiff <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7893">#7893</a>
[radarhere]</p>
</li>
<li>
<p>Raise ValueError for negative values when loading P1-P3 PPM images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7882">#7882</a>
[radarhere]</p>
</li>
<li>
<p>Added reading of JPEG2000 palettes <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7870">#7870</a>
[radarhere]</p>
</li>
<li>
<p>Added alpha_quality argument when saving WebP images <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7872">#7872</a>
[radarhere]</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-pillow/Pillow/commit/5c89d88eee199ba53f64581ea39b6a1bc52feb1a"><code>5c89d88</code></a>
10.3.0 version bump</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/63cbfcfdea2d163ec93bae8d283fcfe4b73b5dc7"><code>63cbfcf</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/2776126aa9af322b416eaca247f4f8ebefd08128"><code>2776126</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7928">#7928</a>
from python-pillow/lcms</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/aeb51cbb169eb3285818ba1390ddf2771d897e6e"><code>aeb51cb</code></a>
Merge branch 'main' into lcms</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/5beb0b66648db8b542bb5260eed79b25e33d643b"><code>5beb0b6</code></a>
Update CHANGES.rst [ci skip]</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/cac6ffa7b399ea79b6239984d1307056a0b19af2"><code>cac6ffa</code></a>
Merge pull request <a
href="https://redirect.github.com/python-pillow/Pillow/issues/7927">#7927</a>
from python-pillow/imagemath</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/f5eeeacf7539eaa0d93a677d7666bc7c142c8d1c"><code>f5eeeac</code></a>
Name as 'options' in lambda_eval and unsafe_eval, but '_dict' in
deprecated eval</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/facf3af93dabcbdd8cdbda8c3b50eefafa3bb04c"><code>facf3af</code></a>
Added release notes</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/2a93aba5cfcf6e241ab4f9392c13e3b74032c061"><code>2a93aba</code></a>
Use strncpy to avoid buffer overflow</li>
<li><a
href="https://github.com/python-pillow/Pillow/commit/a670597bc30e9d489656fc9d807170b8f3d7ca57"><code>a670597</code></a>
Update CHANGES.rst [ci skip]</li>
<li>Additional commits viewable in <a
href="https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pillow&package-manager=pip&previous-version=10.2.0&new-version=10.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/semantic-kernel/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This is about which SDK is used, not which target framework is used.
.NET 7 is EOL in May. .NET 6 is EOL in Nov.

---------

Co-authored-by: Chris <66376200+crickman@users.noreply.github.com>
Bumps [ruff](https://github.com/astral-sh/ruff) from 0.3.4 to 0.3.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.5</h2>
<h2>Changes</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>pylint</code>] Implement <code>modified-iterating-set</code>
(<code>E4703</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10473">#10473</a>)</li>
<li>[<code>refurb</code>] Implement <code>for-loop-set-mutations</code>
(<code>FURB142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10583">#10583</a>)</li>
<li>[<code>refurb</code>] Implement <code>unnecessary-from-float</code>
(<code>FURB164</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10647">#10647</a>)</li>
<li>[<code>refurb</code>] Implement
<code>verbose-decimal-constructor</code> (<code>FURB157</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10533">#10533</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-comprehensions</code>] Handled special case for
<code>C401</code> which also matches <code>C416</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10596">#10596</a>)</li>
<li>[<code>flake8-pyi</code>] Mark
<code>unaliased-collections-abc-set-import</code> fix as
&quot;safe&quot; for more cases in stub files (<code>PYI025</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10547">#10547</a>)</li>
<li>[<code>numpy</code>] Add <code>row_stack</code> to NumPy 2.0
migration rule (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10646">#10646</a>)</li>
<li>[<code>pycodestyle</code>] Allow cell magics before an import
(<code>E402</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10545">#10545</a>)</li>
<li>[<code>pycodestyle</code>] Avoid blank line rules for the first
logical line in cell (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10291">#10291</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>Respected nested namespace packages (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10541">#10541</a>)</li>
<li>[<code>flake8-boolean-trap</code>] Add setting for user defined
allowed boolean trap (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10531">#10531</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Correctly handle references in <code>__all__</code> definitions when
renaming symbols in autofixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10527">#10527</a>)</li>
<li>Track ranges of names inside <code>__all__</code> definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10525">#10525</a>)</li>
<li>[<code>flake8-bugbear</code>] Avoid false positive for usage after
<code>continue</code> (<code>B031</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10539">#10539</a>)</li>
<li>[<code>flake8-copyright</code>] Accept commas in default copyright
pattern (<a
href="https://redirect.github.com/astral-sh/ruff/pull/9498">#9498</a>)</li>
<li>[<code>flake8-datetimez</code>] Allow f-strings with <code>%z</code>
for <code>DTZ007</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10651">#10651</a>)</li>
<li>[<code>flake8-pytest-style</code>] Fix <code>PT014</code> autofix
for last item in list (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10532">#10532</a>)</li>
<li>[<code>flake8-quotes</code>] Ignore <code>Q000</code>,
<code>Q001</code> when string is inside forward ref (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10585">#10585</a>)</li>
<li>[<code>isort</code>] Always place non-relative imports after
relative imports (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10669">#10669</a>)</li>
<li>[<code>isort</code>] Respect Unicode characters in import sorting
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/10529">#10529</a>)</li>
<li>[<code>pyflakes</code>] Fix F821 false negatives when <code>from
__future__ import annotations</code> is active (attempt 2) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10524">#10524</a>)</li>
<li>[<code>pyflakes</code>] Make <code>unnecessary-lambda</code> an
always-unsafe fix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10668">#10668</a>)</li>
<li>[<code>pylint</code>] Fixed false-positive on the rule
<code>PLW1641</code> (<code>eq-without-hash</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10566">#10566</a>)</li>
<li>[<code>ruff</code>] Fix panic in unused <code># noqa</code> removal
with multi-byte space (<code>RUF100</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10682">#10682</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add PR title format to <code>CONTRIBUTING.md</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10665">#10665</a>)</li>
<li>Fix list markup to include blank lines required (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10591">#10591</a>)</li>
<li>Put <code>flake8-logging</code> next to the other flake8 plugins in
registry (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10587">#10587</a>)</li>
<li>[<code>flake8-bandit</code>] Update warning message for rule
<code>S305</code> to address insecure block cipher mode use (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10602">#10602</a>)</li>
<li>[<code>flake8-bugbear</code>] Document use of anonymous assignment
in <code>useless-expression</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10551">#10551</a>)</li>
<li>[<code>flake8-datetimez</code>] Clarify error messages and docs for
<code>DTZ</code> rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10621">#10621</a>)</li>
<li>[<code>pycodestyle</code>] Use same before vs. after numbers for
<code>space-around-operator</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10640">#10640</a>)</li>
<li>[<code>ruff</code>] Change <code>quadratic-list-summation</code>
docs to use <code>iadd</code> consistently (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10666">#10666</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.3.5</h2>
<h3>Preview features</h3>
<ul>
<li>[<code>pylint</code>] Implement <code>modified-iterating-set</code>
(<code>E4703</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10473">#10473</a>)</li>
<li>[<code>refurb</code>] Implement <code>for-loop-set-mutations</code>
(<code>FURB142</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10583">#10583</a>)</li>
<li>[<code>refurb</code>] Implement <code>unnecessary-from-float</code>
(<code>FURB164</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10647">#10647</a>)</li>
<li>[<code>refurb</code>] Implement
<code>verbose-decimal-constructor</code> (<code>FURB157</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10533">#10533</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-comprehensions</code>] Handled special case for
<code>C401</code> which also matches <code>C416</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10596">#10596</a>)</li>
<li>[<code>flake8-pyi</code>] Mark
<code>unaliased-collections-abc-set-import</code> fix as
&quot;safe&quot; for more cases in stub files (<code>PYI025</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10547">#10547</a>)</li>
<li>[<code>numpy</code>] Add <code>row_stack</code> to NumPy 2.0
migration rule (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10646">#10646</a>)</li>
<li>[<code>pycodestyle</code>] Allow cell magics before an import
(<code>E402</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10545">#10545</a>)</li>
<li>[<code>pycodestyle</code>] Avoid blank line rules for the first
logical line in cell (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10291">#10291</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>Respected nested namespace packages (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10541">#10541</a>)</li>
<li>[<code>flake8-boolean-trap</code>] Add setting for user defined
allowed boolean trap (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10531">#10531</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>Correctly handle references in <code>__all__</code> definitions when
renaming symbols in autofixes (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10527">#10527</a>)</li>
<li>Track ranges of names inside <code>__all__</code> definitions (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10525">#10525</a>)</li>
<li>[<code>flake8-bugbear</code>] Avoid false positive for usage after
<code>continue</code> (<code>B031</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10539">#10539</a>)</li>
<li>[<code>flake8-copyright</code>] Accept commas in default copyright
pattern (<a
href="https://redirect.github.com/astral-sh/ruff/pull/9498">#9498</a>)</li>
<li>[<code>flake8-datetimez</code>] Allow f-strings with <code>%z</code>
for <code>DTZ007</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10651">#10651</a>)</li>
<li>[<code>flake8-pytest-style</code>] Fix <code>PT014</code> autofix
for last item in list (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10532">#10532</a>)</li>
<li>[<code>flake8-quotes</code>] Ignore <code>Q000</code>,
<code>Q001</code> when string is inside forward ref (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10585">#10585</a>)</li>
<li>[<code>isort</code>] Always place non-relative imports after
relative imports (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10669">#10669</a>)</li>
<li>[<code>isort</code>] Respect Unicode characters in import sorting
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/10529">#10529</a>)</li>
<li>[<code>pyflakes</code>] Fix F821 false negatives when <code>from
__future__ import annotations</code> is active (attempt 2) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10524">#10524</a>)</li>
<li>[<code>pyflakes</code>] Make <code>unnecessary-lambda</code> an
always-unsafe fix (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10668">#10668</a>)</li>
<li>[<code>pylint</code>] Fixed false-positive on the rule
<code>PLW1641</code> (<code>eq-without-hash</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10566">#10566</a>)</li>
<li>[<code>ruff</code>] Fix panic in unused <code># noqa</code> removal
with multi-byte space (<code>RUF100</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10682">#10682</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add PR title format to <code>CONTRIBUTING.md</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10665">#10665</a>)</li>
<li>Fix list markup to include blank lines required (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10591">#10591</a>)</li>
<li>Put <code>flake8-logging</code> next to the other flake8 plugins in
registry (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10587">#10587</a>)</li>
<li>[<code>flake8-bandit</code>] Update warning message for rule
<code>S305</code> to address insecure block cipher mode use (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10602">#10602</a>)</li>
<li>[<code>flake8-bugbear</code>] Document use of anonymous assignment
in <code>useless-expression</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10551">#10551</a>)</li>
<li>[<code>flake8-datetimez</code>] Clarify error messages and docs for
<code>DTZ</code> rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10621">#10621</a>)</li>
<li>[<code>pycodestyle</code>] Use same before vs. after numbers for
<code>space-around-operator</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10640">#10640</a>)</li>
<li>[<code>ruff</code>] Change <code>quadratic-list-summation</code>
docs to use <code>iadd</code> consistently (<a
href="https://redirect.github.com/astral-sh/ruff/pull/10666">#10666</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/200ebeebdc8ab8ee14f56922e21b218f41a5a7e4"><code>200ebee</code></a>
Bump version to v0.3.5 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10717">#10717</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/23e8279093d8f891fc8bb59ebea2532649801ed3"><code>23e8279</code></a>
chore(deps): update npm development dependencies (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10716">#10716</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/221b3236a8770e2f9a0c502290b78a5ec58698cc"><code>221b323</code></a>
chore(deps): update strum to 0.26.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10715">#10715</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a0e15448488badd81b0924653c180cd18029b2c2"><code>a0e1544</code></a>
chore(deps): update rust crate pep440_rs to 0.5.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10703">#10703</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/2740fab7ad8963892d15581e624764c7a7894999"><code>2740fab</code></a>
Renovate: group all <code>strum</code> dependencies together (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10714">#10714</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/7042b9b16dcb91ffa6a49bab6e8d43066131af2a"><code>7042b9b</code></a>
fix(deps): update rust crate similar to v2.5.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10711">#10711</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/4047d456b6e1b5bfd67cf81b921350e2f2989a6c"><code>4047d45</code></a>
chore(deps): update rust crate insta to v1.38.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10701">#10701</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/20d69ea504b95e4cd7751dbb5a17aa446721945d"><code>20d69ea</code></a>
chore(deps): update npm development dependencies (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10697">#10697</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d021cac0c9755e7f34ee3941c9a98aa7befa9750"><code>d021cac</code></a>
chore(deps): update rust crate tracing-tree to 0.3.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10709">#10709</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/46369d48fe1089d48e0590fcf6fb028218ab84b0"><code>46369d4</code></a>
chore(deps): update rust crate uuid to v1.8.0 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/10710">#10710</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/v0.3.4...v0.3.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.3.4&new-version=0.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
…er with RAG (#5817)

### Motivation and Context

Also includes a fix so the planner handles errors in the final answer
correctly.

Closes #4679 

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄
…o 12 (#5819)

- Test projects targeting net6.0 are updated to net8.0
- LangVersion is consolidated to be 12 and set only in the top-level
Directory.Build.props
- RollForward was used to enable test projects targeting net6.0 to
execute in CI when there was only a net8.0 runtime present. These can
all be deleted.
- Microsoft.Net.Compilers.Toolset was used in a bunch of places to allow
for LangVersion 12 when on older toolsets. Now that the .NET 8 SDK is
used, this can all be deleted.
- Microsoft.CodeAnalysis.NetAnalyzers was pinned to the 8.0 version.
That can now be deleted.
- Allowing the analyzers to use a newer build by default flagged a bunch
of CA2007 violations to be addressed. These have all been fixed.
Fixes #5587

Easiest to review with whitespace disabled:
https://github.com/microsoft/semantic-kernel/pull/5821/files?w=1

Co-authored-by: Dmytro Struk <13853051+dmytrostruk@users.noreply.github.com>
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Initial Agent Framework.  Incudes:

- All critical abstractions
- ChatCompletionAgent
- All new projects / all marked with experimental attributes
- New `AgentSyntaxExamples`

### NOTE - NOT PUBLISHING NUGET 

**Test Coverage (blocks / lines):**

![image](https://github.com/microsoft/semantic-kernel/assets/66376200/2b47c651-d747-4e81-af40-717ae680cb3a)


### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Shouldn't be any surprises. Let's take personal notes on naming
preference as there hasn't been finality in decision process. A final
refactor-rename and comment update at the end should be rapid (I'd
rather do renaming/organziation once than multiple times).

I'm going to stack PR's behind this, so in the interest of progress...

### Outstanding Tasks - In Order (each a future PR)

- [ ] AgentChat (our "GroupChat")
- [ ] Assistant-as-a-Plugin
- [ ] OpenAIAssistantAgent
- [ ] OpenAIAssistantAgent Citiation Content
- [ ] Port AutoGen examples
- [ ] Streaming
- [ ] YAML Templates

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

A recent feature was added to dotnet to allow for a chat_history object
to be passed into invoke. This only allows the user to affect the
`chatHistoryForSteps`, but doesn't account for generating a plan with
provided context (via the chat history).

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

This PR allows the user to pass in optional kernel arguments or kwargs
(that get turned into kernel arguments). If the user then overrides the
prompt template/step prompt.txt, they can utilize any new arguments that
are supplied.
- Closes #5824 

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

`IEnumerable` can be cumbersome if not required. Identified a usage that
is improved by `IReadOnlyList` (as the usage of `IEnumerable` was
extraneous.)

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Been on the look-out for tuning these signatures...this one slipped
through.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
~~Fixes #4295. For
now this is done using a package reference to the latest C# toolset.
Once we drop use of the .NET 6/7 SDKs in CI, this reference can be
removed.~~

The changes to upgrade projects to LangVersion 12 was done separately.
This PR now rolls out use of C# 12 features.
moonbox3 and others added 16 commits May 23, 2024 12:29
      ### Motivation and Context

Fix docstrings so the docs tool can pass.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Fix docstrings so the docs tool can pass.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
#6370)

### Motivation and Context

Building the tools json payload from the kernel parameter metadata
wasn't properly including an object of type `array`.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Correctly include the object type `array` so that the tool call doesn't
return a bad request. Add unit tests.
- Closes #6367 
- Closes #6360
- Fixes the FunctionResult return for a type string -- if the
FunctionResult is of type KernelContent then return the first element of
the list, otherwise return the complete list.
- Fix the kernel function from method to include the proper type_object
for the return parameter so that the schema can be created properly.
- Add retry logic for a sometimes flaky function calling stepwise
planner integration test.
- Add a check during function calling that makes sure the model is
returning the proper number of arguments based on how many function
arguments are required.

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

Bump Python version to 1.0.2 for a release

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Bump Python version to 1.0.2 for a release

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

The planner code catches an exception and does nothing with it. I added
an error log so it's not silently failing.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

Refactoring some of the code following [this
advice](#6371 (comment))
from the maintainers.

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Look up kernel functions and plugins with the `get_function` and
`get_plugin` method. Removed the unused `DEFAULT_CHAT_SYSTEM_PROMPT`

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
### Motivation and Context

The ACS admin key isn't required as the user can pass in either azure
credentials or token credentials. Right now there is an assert on the
api_key not being null that is blocking.

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

Remove the assert on the api_key. Closes #6369

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

Fixed a bunch of typos.

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [x] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [x] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>
AssemblyAI is a speech AI company and SK provides a new
`IAudioToTextService` for different connectors to implement.

I added a connector for AssemblyAI that implements
`IAudioToTextService`.
The `AssemblyAIAudioToTextService` accepts `AudioContent` as mandated by
the interface, but also a `Stream` as discussed
[here](#4932), a
`FileInfo`, and a `Uri`.

Remarks:
- I couldn't run tests in Connectors.UnitTests because of compilation
issues in referenced projects, but I could verify the functionality in
the integration tests.
- We're working on our C# SDK, so the code will be updated once our C#
SDK lands.

Questions:
- How should I set up the icon and README.md file in this connector
project?
- Should the `IAudioToTextService` interface accept
`PromptExecutionSettings`? It seems a little odd to me since this isn't
prompting an LLM.
- Which of these overloads makes sense to pull into
`IAudioToTextService`? I added `Stream`, `FileInfo`, and `Uri` to our
implementation.

Upcoming changes.

- Change AudioAbstractions to accept an IAsyncEnumerable<StreamingAudioContent> instead of AudioStreamContent class.

- [ ] The code builds clean without any errors or warnings
- [x] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [x] I didn't break anyone 😄

---------

Co-authored-by: Roger Barreto <19890735+RogerBarreto@users.noreply.github.com>
@RogerBarreto RogerBarreto requested review from a team as code owners May 27, 2024 08:49
@markwallace-microsoft markwallace-microsoft added python Pull requests for the Python Semantic Kernel java Issue or PR regarding Java code documentation memory samples labels May 27, 2024
@github-actions github-actions bot changed the title .Net: Add AssemblyAI file service Python: .Net: Add AssemblyAI file service May 27, 2024
@github-actions github-actions bot changed the title Python: .Net: Add AssemblyAI file service Java: .Net: Add AssemblyAI file service May 27, 2024
@RogerBarreto
Copy link
Member

@Swimburger, I failed in the rebase for this PR and created a new one #6406 with your changes

@Swimburger Swimburger changed the title Java: .Net: Add AssemblyAI file service .Net: Add AssemblyAI file service May 27, 2024
RogerBarreto added a commit that referenced this pull request Jun 6, 2024
### Motivation and Context

<!-- Thank you for your contribution to the semantic-kernel repo!
Please help reviewers and future users, providing the following
information:
  1. Why is this change required?
  2. What problem does it solve?
  3. What scenario does it contribute to?
  4. If it fixes an open issue, please link to the issue here.
-->

### Description

<!-- Describe your changes, the overall approach, the underlying design.
These notes will help understanding how your code works. Thanks! -->

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [ ] The code builds clean without any errors or warnings
- [ ] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [ ] All unit tests pass, and I have added new tests where possible
- [ ] I didn't break anyone 😄

---------

Co-authored-by: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com>
@Swimburger Swimburger deleted the add-assemblyai-file-client branch June 10, 2024 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation java Issue or PR regarding Java code kernel.core kernel Issues or pull requests impacting the core kernel memory .NET Issue or Pull requests regarding .NET code python Pull requests for the Python Semantic Kernel samples
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.